home *** CD-ROM | disk | FTP | other *** search
/ Aminet 22 / Aminet 22 (1997)(GTI - Schatztruhe)[!][Dec 1997].iso / Aminet / util / conv / CPC.lha / CPC.dopus < prev    next >
Text File  |  1997-09-29  |  3KB  |  125 lines

  1. /* $VER: CPC.dopus 1.32 (20.8.97) © Ljubomir Jankovic
  2.  
  3.    CPC.dopus v1.32 by Ljubomir Jankovic <lurch@afrodita.rcub.bg.ac.yu>
  4.  
  5.    Convert your files fast B).
  6.  
  7.    Instalation:
  8.  
  9.    For use from Opus configure a button or menu item like this:
  10.  
  11.    AREXX  <path_to_the_script>CPC.dopus [<from_cp> <to_cp>]
  12.  
  13.    ^^^^^---(set the cyclebutton to AREXX)
  14.  
  15.    Explanation of the arguments:
  16.  
  17.    <from_cp> - codepage to convert FROM
  18.                (one of: YUSCII, AMIGA, CP852, ISO8859-2, CP1250)
  19.                without brackets
  20.    <to_cp>   - codepage to convert TO
  21.                (one of: YUSCII, AMIGA, CP852, ISO8859-2, CP1250, ASCII)
  22.                without brackets
  23.  
  24.    Note: Default <from_cp> and <to_cp> are CP852 and AMIGA, respectively.
  25.          If you don't supply valid arguments for <from_cp> and/or
  26.          <to_cp>, CPC's GUI will appear.
  27.  
  28.    Requirements:
  29.  
  30.    - CPC
  31.    - RexxReqTools.library v37+
  32.    - RexxSupport.library v34+
  33.    - RexxTricks.library v38+
  34.  
  35.    Usage:
  36.  
  37.    Just select a file, then run the script. If everything went allright
  38.    the file will be converted, otherwise you'll be presented with a
  39.    requester with a description what went wrong. It's that simple!
  40.  
  41.    History:
  42.  
  43.    - v1.0:  initial release
  44.    - v1.1:  fixed few bugs, deleted few unnecessary lines
  45.    - v1.2:  now a Opus ARexx script! No need for {o} in calling line
  46.             because it gets the file you selected in Opus window
  47.    - v1.21: few minor adjustments
  48.    - v1.3:  now requires RexxTricks.library
  49.    - v1.31: fixed a problem with paths that have space in name
  50.             (e.g. "Ram Disk:")
  51.    - v1.32: changed a bit handling of paths with spaces
  52.  
  53.    Thanks to:
  54.  
  55.    - Andrija Antonijevic <TheAntony@bigfoot.com>
  56.      for writing great CPC (Code Page Converter) & for BETA testing. 
  57.      (Zdravo Andrija!)
  58. */
  59.  
  60. if ~show('L','rexxreqtools.library') then
  61.      if ~addlib('rexxreqtools.library',0,-30,0) then exit(10)
  62. if ~show('L','rexxsupport.library') then
  63.      if ~addlib('rexxsupport.library',0,-30,0) then exit(10)
  64. if ~show('L','rexxtricks.library') then
  65.      if ~addlib('rexxtricks.library',0,-30,0) then exit(10)
  66.  
  67. OPTIONS RESULTS
  68.  
  69. CPCpath="C:CPC"
  70.  
  71. /*       ^--- Change this to fit your system */
  72.  
  73. ver="1.32";title="CPC.dopus v"ver;pos="rt_reqpos=reqpos_centerwin"
  74. button="Shit!";onlyone="Select only ONE file!";yes="Yup!"
  75.  
  76. PARSE ARG from to portname
  77.  
  78. upper from; upper to
  79.  
  80. if portname~=='' then
  81.    address value portname
  82. else
  83.    portname=address()
  84. parse var portname '.' port  /* port number */
  85.  
  86. if exists('T:Error.log') then delete('T:Error.log')
  87.  
  88. BUSY ON
  89. STATUS 3
  90.      win=RESULT
  91. STATUS 7 win
  92.      entries=RESULT
  93.      if entries>1 then call JustOne
  94. STATUS 13 win
  95.      dir=RESULT
  96. GETNEXTSELECTED win
  97.      filename=RESULT
  98. SELECTFILE filename 0 SHOW
  99. DISPLAYDIR win
  100.  
  101. path='"'dir||filename'"'
  102.  
  103. ADDRESS COMMAND CPCpath path path" FROM "from" TO "to" OVERWRITE >T:Error.log"
  104.  
  105. if rc~=0 & exists('T:Error.log') then call Crap
  106.  
  107. delete('T:Error.log')
  108. RESCAN win
  109. BUSY OFF
  110. exit
  111.  
  112. JustOne: call rtezrequest(onlyone,yes,title,pos)
  113.          RESCAN win
  114.          BUSY OFF
  115.          exit
  116.  
  117. Crap:    call readfile('T:Error.log',error)
  118.          line=error.0
  119.          rerror=error.line
  120.          call rtezrequest(rerror,button,title,pos)
  121.          delete('T:Error.log')
  122.          RESCAN win
  123.          BUSY OFF
  124.          exit
  125.